<?php
namespace app\common\lib;
class Arr{
	// 分类树 无限极分类
	public static function getTree($data){
		$items = [];
		foreach($data as $v){
			$items[$v['category_id']] = $v;
		}
		//halt($items);
		$tree = [];
		foreach($items as $id=>$item){
			if(isset($items[$item['pid']])){
				$items[$item['pid']]['list'][] = &$items[$id];
			}else{
				$tree[] = &$items[$id];
			}
		}
		//halt($tree);
		return $tree;
	}

	public static function sliceTreeArr($data,$firstCount=5,$secondCount=3,$threeCount=5){
		$data = array_slice($data, 0,$firstCount);
		foreach($data as $k=>$v){
			if(!empty($v['list'])){
				$data[$k]['list'] = array_slice($v['list'], 0,$secondCount);
				foreach ($v['list'] as $kk => $vv) {
					if(!empty($vv['list'])){
						$data[$k]['list'][$kk]['list'] = array_slice($vv['list'],0,$threeCount);
					}
				}
			}
		}

		return $data;
	}

	//对二维数组进行某字段排序
	public static function arr2SortByField($arr,$field,$sort = SORT_DESC){
		if(!is_array($arr)){
			return [];
		}
		array_multisort(array_column($arr, $field),$sort,$arr);
		return $arr;
	}
}